/**
 * 
 * @param tableId    表格的id
 * @param url        初始化表示的时候访问的url
 * @param title      datagrid的标题
 * @param tooleBarId datagrid的工具栏
 */
function initPage(tableId,url,title,tooleBarId){
	
	
	var myTable = $('#'+tableId);
	console.log(myTable);
	
	$('#'+tableId).datagrid({
		title:title,
		/*'name':name,*/
        /*//增加分页逻辑的代码 begin
        pageSize:5,
        pagination:true,
        pageList:[5,10,15,20],
        //增加分页逻辑的代码 end
*/		
		//表示不换行
		nowrap:false,
		
		//工具栏
		toolbar: '#'+tooleBarId,

		fitColumns:true,
		url:url,
	}); //end of datagrid
}

//自定义的方法开始...
var addOrUpdate ='add';

//add增加方法开始
function add(title,dialogId,formId){
	//清空以前的历史数据
	$("#"+formId).form('clear');
	//1 怎么样可以搞出1个dialog
	$('#'+dialogId).dialog({
		//1 让隐藏的东西显示
		closed:false,
		width:280,
		height:170,
		title:title,
		//模块化 ：  让其他的东西都不能操作
		modal:true,
	});
}
//add增加方法结束

//delete删除方法begin
function deleteByIdsCommon(tableId,url){
	//1 获得选中的id 
	var rows = $("#"+tableId).datagrid('getSelections');
	// [10,20,30]
	var ids=[];
	
	$(rows).each(function(index,data){
		console.log(data.id);
		//cosole.log("$(data).id="+$(data).id);
		
		ids.push(data.id);
	});
	//alert(ids);
	
	//2提示用户是否确定删除
	$.messager.confirm('确认','您确认想要删除记录吗？',function(r){    
	    if (r){    
	      	//3把ids传递给后台   后台会重新查询1次  自动更新 重载数据
	      	
	      	$.ajax({
	      		url:url,
	      		type:'post',
	      		contentType:'application/json',
	      		//[10,20,30]
	      		data: JSON.stringify(ids),
	      		dataType:'json',
	      		success:function(jsonData){
	      			if(jsonData.result=='success'){
						//说明后台都已经输出数据成功
	      				$.messager.show({
							title:'提示', msg:jsonData.msg, 	timeout:2000
						});
	      				//重新请求后台 再次加载数据
						$('#'+tableId).datagrid('reload');
						
					}
	      		}
	      	});
	    }    
	});  
}
//delete删除方法end


//update方法开始
function updateCommon(tableId,title,dialogId,formId,url){
	//2给对话框里赋值  拿到 原来值
	//2.1.1 怎么拿到id
	//返回所有被选中的行，当没有记录被选中的时候将返回一个空数组。
	var rows = $("#"+tableId).datagrid('getSelections');
	
	var length = rows.length ;
	
	if(length == 1){
		//1 给我弹出1个干净的对话框
		add(title,dialogId,formId);
		
		var row = rows[0];
		
		id = row.id;
		//$.messager.alert('测试',id);   
		
		//2.1 把id传给后台发一个请求  拿到对象  把后台穿过来的对象 分别给我们的文本框
		$("#"+formId).form('load',url+id);
		
		//在此处明确知道是什么更新操作
		addOrUpdate = 'update';
		
		
		//3提交数据到后台
		
		//4前台接收数据
		
		url = baseUrl + addOrUpdate +".do";
		saveCommon(url,dialogId,tableId,formId);
		
	}else{
		$.messager.alert('警告','只能选择1行修改...');   
		return ;

	}
}
//update方法结束


//save保存方法开始
function saveCommon(url,dialogId,tableId,formId){
	var myUrl ='';
	if(addOrUpdate == 'update'){
		myUrl='update.do';
	}else{
		myUrl='add.do';
	}
	
	var totalUrl =  url+myUrl;
	console.log(totalUrl);
	//调用form 的 submit方法....
	$('#'+formId).form('submit',{
		//url:'${pageContext.request.contextPath}/student/'+myUrl,
		url:totalUrl,
		//把数据提交到后台之前做数据校验。如果校验不通过 返回的是false。不提交表单。
		//只有返回值为true的时候才提交表单到后台
		onSubmit:function(){
			var result = $(this).form('validate');
			return result;
		},
		success:function(jsonData){
			jsonData = eval("("+jsonData+")");
			if(jsonData.result=='success'){
				//说明后台都已经插入数据成功
				$("#"+dialogId).dialog('close');
				
				addOrUpdate='add';
			}
			$.messager.show({
				title:'提示', msg:jsonData.msg, 	timeout:2000
			});
			
			//重新请求后台 再次加载数据
			//$('#tt').datagrid('reload');
			$('#'+tableId).datagrid('reload');
		}
	});
}
//save保存方法 结束
